# -*- coding: utf-8 -*-
"""
Created on Fri Jan 15 22:06:36 2021

@author: 10365
"""

import openpyxl
import sqlGeneratorCore


def loadTableInfo(fileName,sheetName):
    #第一步：打开工作簿
    wb = openpyxl.load_workbook(fileName)
    #第二步：选取表单
    sh=wb[sheetName]
    #第三步：读取数据
    #参数row:行column：列
    ce=sh.cell(row=1,column=2)#读取第一行，第2列的数据 
    print(ce.value)
    tableName = ce.value
    ce=sh.cell(row=1,column=4)#读取第一行，第4列的数据
    print(ce.value)
    dbType = ce.value
    ce=sh.cell(row=1,column=6)#读取第一行，第4列的数据
    print(ce.value)
    rowNum = ce.value
    tableInfo = sqlGeneratorCore.TableInfo(tableName,dbType)
    tableInfo.setRowNum(rowNum)
    #按行读取数据list(sh.rows)
    columnName = []  #数据库列名
    row1 = list(sh.rows)[1]
    #按行读取数据库列名
    for col in row1[1:]:
        colName = col.value
        if type(colName) == type(None):
            break
        colName = colName.strip(' ').strip('\r').strip('\n')
        if len(colName) == 0:
            break
        columnName.append(colName)
    tableInfo.setColumnName(columnName)
    #读取数据
    allValues = []
    for cases in list(sh.rows)[4:]:
        values = []
        for case in cases[1:]:
            item = case.value
            if type(item) == type(None):
                break
            item = item.strip(' ').strip('\r').strip('\n')
            if len(item) == 0:
                break
            if(type(item) == str):
                item = '\'' + item + '\''
            values.append(item)
        allValues.append(values)
    tableInfo.setTableData(allValues)
    #关闭工作薄
    wb.close()
    return tableInfo
    



if __name__ == "__main__":
    fileName = './src/test.xlsx'
    sheetName = 'sheet1'
    loadTableInfo(fileName,sheetName)